草庐IT

Ruby float 到字符串错误

全部标签

ruby - Sinatra 应用程序中的错误 "undefined local variable or method ` logger '"when using ` logger.info`

我有以下Sinatra1.2.1应用程序代码:#app.rbrequire'sinatra'get'/'dologger.info"COUCOU"'Helloworld!'end并使用ruby-rubygemsapp.rb启动服务器。当我转到http://localhost:4567时出现错误:NameErrorat/undefinedlocalvariableormethod`logger'for#file:app.rblocation:blockinline:4我是否需要添加或配置一些东西才能在Sinatra中启用日志记录?阅读SinatraREADME和文档,似乎默认情况下为Si

ruby - 如何强制 Float 在不使用科学记数法的情况下以完全精确的方式显示,而不是作为字符串显示?

在Ruby中,如何在没有科学记数法的情况下强制显示所有重要位置/完全精确的float?目前我将BigDecimal转换为Float,BigDecimal(0.000000001453).to_f,但这会产生1.453e-09的结果float。如果我执行类似"%14.12f"%BigDecimal("0.000000001453").to_f的操作,我会得到一个字符串。然而,在这种情况下,字符串作为输出是NotAcceptable,因为我需要它作为没有科学记数法的实际数字float。---编辑---好吧,让我在这里提供一些背景信息,这可能需要更改我原来的问题。我正在尝试使用Highsto

ruby - 为什么 openssl 在 windows 上产生错误但在 centos 上不产生错误:PKCS12_parse: mac verify failure (OpenSSL::PKCS12::PKCS12Error)

require'openssl'ifARGV.length==2pkcs12=OpenSSL::PKCS12.new(File.read(ARGV[0]),ARGV[1])ppkcs12.certificateelseputs"Usage:load_cert.rb"end运行它会在Windows上产生错误,但在Linux上不会。错误:OpenSSL::PKCS12::PKCS12Error:PKCS12_parse:macverifyfailurefrom(irb):21:ininitializefrom(irb):21:innewfrom(irb):21fromC:/Ruby192/

ruby - Ruby 错误消息中的单字母前缀是什么意思?

Ruby错误消息通常包含带单字母前缀的词法常量,例如:syntaxerror,unexpectedtIDENTIFIER,expectingkENDt和k从哪里来?还有其他字母吗?可能的关键字的主列表? 最佳答案 对于此类问题,parse.y通常是看的地方。如果没记错的话,'t'代表token,而'k'代表关键字。以下是表示标识符的不同标记(在其他事物的名称意义上):%tokentIDENTIFIERtFIDtGVARtIVARtCONSTANTtCVARtLABEL我通过快速搜索找到的kEND的唯一定义是k_end:k_end:k

L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误

废话不多先看bug解决方案在下面!!!!启动服务查看服务是否开启首先我的电脑-右键-管理-服务和应用程序-服务-找到IPsecPolicyAgent-右键属性-启动方式改为自动,并重启服务,如下图打开设置-更改适配器选项如下图点击连接失败的连接-右键-属性-安全-允许使用这些协议编辑注册表按Ctrl+R打开命令行窗口输入regedit打开注册表输入下面命令进入以下页面HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters如下图在右侧编辑菜单上,鼠标右键新建,然后单击DWORD(32)位值。键入Prohibit

ruby - 为什么 Ruby 全局字符串(如 $&)会无误地忽略突变?

我正在学习Ruby(2.0),这让我很吃惊:s="1234"s=~/\d+/$&==>"1234"#asexpected,$&containsthematchedstring$&.slice!(-2..-1)#shouldmutatestring$&==>"1234"#what?s.slice(-2..-1)s==>"12"#asexpectedslice!方法应该改变字符串。其他增变器方法的行为方式相同。我的问题:为什么这不会引发错误,这是我在函数无法执行它所说的操作时所期望的?这在某处记录了吗?有道理吗?更新所以,我看到$&的行为不像全局变量。每个对它的引用都会给出一个新对象,就好

ruby - 用字符串中的撇号替换单引号 (Ruby)

我的用户有时输入的不是撇号('),而是看起来像撇号(‘)的符号,这会导致数据库出现一些问题。我试着用gsub替换它们,如下所示:result.gsub(/\‘/,"'")result.gsub(/‘/,"'")这些选项都不起作用-出现错误:syntaxerror,unexpected$end,expecting')'returnresult.gsub(/\‘/,"'").gsub("’","'")^它们是Ruby保留的吗?我该如何替换它们? 最佳答案 如果您的文本编辑器不直接支持像‘这样的UTF-8字符,您可以通过这种方式转义它们:

ruby - 如何修复此错误 : kernel_require. rb :45:in `require' : cannot load such file?

我有以下文件结构:执行.rb图书馆我的类(class).rb在execute.rb我有下面的代码:#!/usr/bin/rubyrequire'lib/my_class'my_object=MyClass.newmy_object.some_method这是my_class.rb的代码:classMyClassdefsome_methodputs'OK'endend所以,我尝试运行execute.rb:rubyexecute.rb但是我收到这个错误:/home/vagrant/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/ru

Flutter 环境变量配置和flutter doctor中的错误解决

一、环境变量右键点击我的电脑-属性:然后找到环境变量 1.Android的SDK不在C盘的话需要额外配这个到用户环境变量:ANDROID_HOMED:\AndroidSDK2.然后在系统变量:Path中添加一条这样的值        D:\Flutter\flutter\bin             这个值写flutter包解压的实际地址即可 3.在系统变量中添加两个镜像变量:        变量名:FLUTTER_STORAGE_BASE_URL      变量值:https://storage.flutter-io.cn        变量名:PUB_HOSTED_URL      变量

ruby-on-rails - 为平等比较字符串/符号的最佳模式?

是否有惯用的Ruby模式来测试两个“字符串”是否相等,而不管操作数是字符串还是符号?我想使用一些运算符来执行此比较::abc=='abc'.to_sym而无需将操作数规范化为字符串或符号。active_support中的HashWithIndifferentAccess行为是一个非常有用的类比,可以用来类比我正在寻找的东西。 最佳答案 如果你想在任何地方修补通用功能。classObjectdefto_s_equals?varself.to_s==varendend如前所述,仅将符号转换为字符串,而不是将字符串转换为符号,除非您随后要